home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Reference / FAQs on CD / comp.lang.obj-C FAQ (2⁄3) class < prev    next >
Encoding:
Text File  |  1997-04-24  |  50.5 KB  |  1,322 lines  |  [TEXT/R*ch]

  1. Newsgroups: comp.lang.objective-c,comp.answers,news.answers
  2. From: tiggr@es.ele.tue.nl (Tiggr)
  3. Subject: comp.lang.objective-c FAQ, part 2/3: ClassWare Listing
  4. Summary: This second part of the comp.lang.objective-c FAQ postings
  5.     gives an overview of available class libraries.
  6. Reply-To: tiggr@es.ele.tue.nl (Tiggr)
  7. Followup-To: comp.lang.objective-c
  8. Organization: Eindhoven University of Technology, the Netherlands
  9. Approved: news-answers-request@mit.edu
  10. Keywords:
  11.  
  12. Archive-name: Objective-C/classes
  13. Version: $Id: classes,v 3.31 1997/01/31 14:16:19 tiggr Exp $
  14.  
  15.  
  16.  
  17.                 Objective-C
  18.  
  19.                  ClassWare Listing
  20.  
  21.  
  22.  
  23. This is the second of three FAQ postings for comp.lang.objective-c.  This
  24. posting lists available kits and classes, to aid the reader in answering the
  25. question `to re-use or to re-invent?'.    In order to keep this list up to date
  26. and as interesting and diverse as possible, send your additions, deletions
  27. and suggestions to tiggr@es.ele.tue.nl.
  28.  
  29. The available classes and kits are categorized as follows:
  30.  
  31.     Stepstone    Stepstone libraries,
  32.             for use with Stepstone's environment
  33.     NeXT        NeXT kits, for use with NEXTSTEP
  34.     FSF        FSF maintained/released classes
  35.             for use with GNU CC
  36.  
  37.     Third Party    commercial classes
  38.         OS/2 Objective C class library
  39.         BARCODEKIT
  40.         SERIALPORTKIT
  41.         BPG Blocks
  42.         Objective-C Views    UI library for MS Windows
  43.         OBJECT:Math        extensible match and string handling
  44.         Store        OO user level virtual file system
  45.         DOME 3.0        distributed object management environment
  46.         Computer Algebra Kit    objects for multiprecision arithmetic
  47.                 [stepstone & portable object compiler]
  48.         Objective-Framework, Objective-Browser
  49.  
  50.     GPL        classes released under the GPL
  51.         objcX    [gnu]
  52.         Tcl/Objective-C Interface Library [gnu, nextstep]
  53.         libtl    Tiggr's Objective-C Library [gnu, nextstep]
  54.  
  55.     Public Domain    public domain classes---no GPL
  56.         IconKit    [nextstep]
  57.         MiscKit    [nextstep / openstep]
  58.         MusicKit    [nextstep]
  59.         ObjectPak   collection class library
  60.             [gnu, nextstep, stepstone, portable object compiler]
  61.  
  62. Stepstone
  63.  
  64.     Bundled with the compiler is ICpak 101 Foundation Class Library.  This
  65.     library provides twenty classes and more than three hundred methods
  66.     including such things as Collections (OrdCltn, Stack, Set, Dictionary,
  67.     SortCltn), Arrays (IdArray, IntArray), String, Sequences, Automatic
  68.     Object I/O (ASCII Filer), etc.
  69.  
  70.     The ICpak 201 Graphical User Interface library is used to build iconic
  71.     multi window user interfaces for workstation applications.    The library
  72.     consists of 58 classes and over 1,100 methods.  Classes include such
  73.     things as Controllers, Menu's, Menu Items, Icons, Windows(StdLayer),
  74.     Timers, Buttons, Text, etc, etc.  ICpak 201 is ported to X Windows,
  75.     OpenWindows, Motif and SunView and provides a consistent user interface/
  76.     look-and-feel between all platforms.
  77.  
  78.     Contact
  79.  
  80.     The Stepstone Corporation
  81.     75 Glen Road
  82.     Sandy Hook, CT 06482
  83.     tel: +1 203 426-1875
  84.     fax: +1 203 270-0106
  85.     telex: 506127
  86.  
  87. NeXT
  88.  
  89.     Common Classes
  90.  
  91.     Several classes provided with NeXTSTEP do not belong to a specific
  92.     kit: Object (core of the runtime system, root of the general class
  93.     hierarchy), Storage, List (an abstract array), HashTable (to store
  94.     (key, object) associations), NXStringTable (to store (key, string)
  95.     associations) and NXBundle (file-resources management and dynamic
  96.     loading).
  97.  
  98.     Application Kit
  99.  
  100.     The Application Kit defines a set of Objective-C classes and
  101.     protocols, C functions, and assorted constants and data types that
  102.     are used by virtually every NeXTSTEP application.  The pith of the
  103.     Kit are the tools it provides for implementing a graphical,
  104.     event-driven user interface:
  105.  
  106.         The Application Kit provides classes---most notably Window and
  107.         View---that make drawing on the screen exquisitely succinct.
  108.         Much of the unromantic work that's involved in
  109.         drawing---communicating with hardware devices and screen
  110.         buffers, clearing areas of the screen before drawing,
  111.         coordinating overlapping drawing areas---is taken care of for
  112.         you, letting you concentrate on the much more gratifying task of
  113.         supplying code that simply draws.  And even this task is
  114.         assisted by many of the other classes and a number of C
  115.         functions that provide drawing code for you.
  116.  
  117.         The Application Kit makes event handling extremely simple.    The
  118.         Responder class, from which many of the Kit's classes inherit,
  119.         defines a mechanism by which the user's actions are passed to
  120.         the objects in your application that can best respond to them.
  121.         The Application class, which inherits from Responder,
  122.         establishes the low-level connections that makes this system
  123.         possible.  It provides methods that inform your application of
  124.         watershed events, such as when the user makes the application
  125.         active and inactive, and when the user logs out or turns off the
  126.         computer.
  127.  
  128.     By using these tools, you bless your application with a look and
  129.     feel that's similar to other applications, making it easier for the
  130.     user to recognize and use.
  131.  
  132.     (Introduction from the NeXTSTEP General Reference, "Application Kit"
  133.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  134.     All rights reserved.)
  135.  
  136.     Database Kit
  137.  
  138.     The Database Kit provides a comprehensive set of tools, classes, and
  139.     protocols for building applications that use a high-level
  140.     entity-relationship model to manipulate database servers such as
  141.     those provided by Oracle or Sybase.  The kit provides services that
  142.     include:
  143.  
  144.         Communication with client-server databases.
  145.  
  146.         Modeling properties (attributes and relationships) of each
  147.         database.
  148.  
  149.         Record management and buffering.
  150.  
  151.         Data flow between record managers and the application user
  152.         interface.
  153.  
  154.         User interface objects for display and editing.
  155.  
  156.     (Introduction from the NeXTSTEP General Reference, "Database Kit"
  157.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  158.     All rights reserved.)
  159.  
  160.     Distributed Objects
  161.  
  162.     The Distributed Objects system provides a relatively simple way for
  163.     applications to communicate with one another by allowing them to
  164.     share Objective-C objects, even amongst applications running on
  165.     different machines across a network.  They are useful for
  166.     implementing client-server and cooperative applications.  The
  167.     Distributed Objects system subsumes the network aspects of typical
  168.     remote procedure call (RPC) programming, and allow an application to
  169.     send messages to remote objects using ordinary Objective-C syntax.
  170.  
  171.     The Distributed Objects system takes the form of two classes,
  172.     NXConnection and NXProxy.  NXConnection objects are primarily
  173.     bookkeepers that manage resources passed between applications.
  174.     NXProxy objects are local objects that represent remote objects.
  175.     When a remote object is passed to your application, it is passed in
  176.     the form of a proxy that stands in for the remote object; messages
  177.     to the proxy are forwarded to the remote object, so for most intents
  178.     and purposes the proxy can be treated as though it were the object
  179.     itself.     Note that direct access to instance variables of the remote
  180.     object isn't available through the proxy.
  181.  
  182.     (Introduction from the NeXTSTEP General Reference, "Distributed Objects"
  183.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  184.     All rights reserved.)
  185.  
  186.     Indexing Kit
  187.  
  188.     The Indexing Kit is a set of programmatic tools for managing data,
  189.     especially the large amounts of data characteristic of information
  190.     intensive applications.     Much as the Application Kit provides a
  191.     framework for a graphical interface, the Indexing Kit provides a
  192.     framework for data management.
  193.  
  194.     The Indexing Kit supplies facilities for building custom databases
  195.     and for searching the UNIX file system.     Key benefits include
  196.     guaranteed data integrity, excellent performance, thread-safe
  197.     operation, tight integration with the NeXTSTEP programming
  198.     environment, and the ability to efficiently store and retrieve
  199.     Objective-C objects and unstructured data like text, sound, and
  200.     images.
  201.  
  202.     The Indexing Kit consists of:
  203.  
  204.         A transaction-oriented foundation for storing and retrieving
  205.         persistent data, using virtual memory mapping for efficient
  206.         random access to parts of a file without reading or writing the
  207.         entire file. Transactions guarantee data integrity on persistent
  208.         storage media, and are also used to manage concurrent access to
  209.         shared data.
  210.  
  211.         Fast sequential and associative access to stored data.
  212.         Associative access is untyped, in that the programmer defines
  213.         the data types of keys and their ordering by means of a
  214.         comparison function or a format string.
  215.  
  216.         A simple data management capability based on the Objective-C
  217.         run-time system.  Records can be moved efficiently between
  218.         working memory and the storage substrate in the form of
  219.         Objective-C objects.  Multiple indexes can be built over
  220.         programmer-defined attributes, so that records can be ordered
  221.         and retrieved by the values of their indexed attributes.
  222.  
  223.         A general query processing facility, including a declarative
  224.         query language and its interpreter.     Queries can be applied to
  225.         individual objects, to collections of objects, or to the
  226.         attribute/value lists produced by Indexing Kit's customizable
  227.         text processing tools.
  228.  
  229.         High-level file system searching facilities based on the
  230.         supporting layers described above, including fast literal
  231.         searching of file contents.
  232.  
  233.     (Introduction from the NeXTSTEP General Reference, "Indexing Kit"
  234.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  235.     All rights reserved.)
  236.  
  237.     Mach Kit
  238.  
  239.     The Mach Kit provides an object-oriented interface to some of the
  240.     features of the Mach operating system.    At this time, it is most
  241.     useful to applications that make use of the Distributed Objects
  242.     system, since these applications rely upon Mach's message sending
  243.     abilities to transport objects, ports, and data between processes.
  244.     The Mach Kit may also be useful for drivers and multi threaded
  245.     applications.  The Mach Kit provides several classes and protocols,
  246.     listed below.
  247.  
  248.     (Introduction from the NeXTSTEP General Reference, "Mach Kit"
  249.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  250.     All rights reserved.)
  251.  
  252.     NetInfo Kit
  253.  
  254.     The NetInfo Kit is a collection of classes and a single function
  255.     used to provide a connection to and interface with NetInfo domains.
  256.     The NetInfo Kit provides classes for basic interface with a domain
  257.     as well as specialized panels.
  258.  
  259.     (Introduction from the NeXTSTEP General Reference, "NetInfo Kit"
  260.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  261.     All rights reserved.)
  262.  
  263.     3D Kit
  264.  
  265.     The 3D Graphics Kit enables NeXTSTEP applications to model and
  266.     render 3-dimensional scenes.  Much as the Application Kit's 2D
  267.     graphics capabilities are based on the Display PostScript
  268.     interpreter, the 3D Kit's capabilities are based on the Interactive
  269.     RenderMan renderer.  There are both similarities and differences in
  270.     the inner workings of the two implementations.
  271.  
  272.     One similarity is that both are implemented with a client-server
  273.     model, in which client applications send drawing code to the Window
  274.     Server, which does the actual drawing.    Another similarity is that
  275.     N3DCamera---the 3D Kit's View---generates all drawing code, both 2D
  276.     and 3D, when its drawSelf: method is invoked.  This keeps the
  277.     Application Kit's display mechanism intact for both PostScript and
  278.     RenderMan drawing.
  279.  
  280.     One difference in the implementations is in the code generated for
  281.     drawing. For 2D drawing, a View sends PostScript code to the Window
  282.     Server's Display PostScript interpreter.  For 3D drawing, a View
  283.     sends RenderMan Interface Bytestream (RIB) code to the Window
  284.     Server's Interactive RenderMan renderer.
  285.  
  286.     (Introduction from the NeXTSTEP General Reference, "3D Graphics Kit"
  287.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  288.     All rights reserved.)
  289.  
  290.     Sound Kit
  291.  
  292.     The Sound Kit is designed to provide both low- and high-level access
  293.     to sound hardware on workstations running NeXTSTEP, including
  294.     support for a wide variety of sound formats, real-time mixing and
  295.     compression.  The Sound Kit consists of five general categories of
  296.     objects:
  297.  
  298.         Sound Device Objects
  299.  
  300.         Sound Device objects, like NXSoundIn and NXSoundOut,
  301.         wrap the low-level hardware and sound drivers into
  302.         simple, extensible packages.
  303.  
  304.         Sound Streams
  305.  
  306.         Sound Stream objects, like NXPlayStream or NXRecordStream,
  307.         allow the sound output of many simultaneous programs to be
  308.         mixed, scaled, and processed before being sent out the Sound
  309.         objects.
  310.  
  311.         The Sound Object
  312.  
  313.         The Sound object is NeXTSTEP's fundamental sound data
  314.         storage and playback/recording facility.
  315.  
  316.         The SoundView Object
  317.  
  318.         NeXTSTEP's Sound View is a graphical display of sound data
  319.         that interacts well with the NeXTSTEP GUI.
  320.  
  321.         The Sound Meter Object
  322.  
  323.         The Sound Meter displays the current running amplitude of a
  324.         playing or recording sound (in mono), much like volume
  325.         meters on amplifiers or tape decks.
  326.  
  327.     In addition to this library, NeXT provides two sets of sound driver
  328.     and sound access functions.
  329.  
  330.     NXLiveVideoView
  331.  
  332.     The NXLiveVideoView class provides API for interactive display of
  333.     live video on the screen of a NeXTdimension Computer.  The
  334.     NXLiveVideoView class specification provides a complete discussion
  335.     of the NeXTdimension Computer's video capabilities and the API
  336.     provided by NXLiveVideoView.
  337.  
  338.     (Introduction from the NeXTSTEP General Reference, "Video"
  339.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  340.     All rights reserved.)
  341.  
  342.     Applications
  343.  
  344.     There are several classes which solely exist to enable the
  345.     programmer to add functionality to specific existing NEXTSTEP
  346.     applications:
  347.  
  348.         IBPalette, IBInspector
  349.  
  350.         These classes allow developers to expand the functionality
  351.         of the Interface Builder application, creating their own
  352.         palettes of objects that can be dragged into an interface,
  353.         and inspectors to set and view the attributes of those
  354.         objects.
  355.  
  356.         Layout
  357.  
  358.         This class allows developers to add their own modules to the
  359.         Preferences application.
  360.  
  361.         WMInspector
  362.  
  363.         This class allows developers to add their own file contents
  364.         inspectors to the Workspace Manager application.
  365.  
  366.     Portable Distributed Objects (PDO)
  367.  
  368.     PDO makes it possible to deploy server-based objects on non-NEXTSTEP
  369.     server machines.  PDO provides this framework by extending the same
  370.     seamless object framework that NEXTSTEP developers already use for
  371.     local and distributed objects.
  372.  
  373.     Enterprise Objects Framework (EOF)
  374.  
  375.     Enterprise Objects Framework seamlessly extends the power of
  376.     NEXTSTEP's object-oriented paradigm to the development of
  377.     client-server database applications.
  378.  
  379.     Other
  380.  
  381.     Before NeXTSTEP 3.0, MusicKit was distributed as part of NEXTSTEP.
  382.     MusicKit is now maintained and made available by CCRMA (see the
  383.     entry under `Public Domain Kits').  Also until the advent of
  384.     NeXTSTEP 3.0, PhoneKit was part of NeXTSTEP.  PhoneKit classes
  385.     provided easy to ISDN connections.
  386.  
  387.     Contact
  388.  
  389.     NeXT Computer, Inc.
  390.     900 Chesapeake Drive
  391.     Redwood City, CA 94063
  392.     tel: +1 800 848 NEXT
  393.     fax: +1 415 780 2801
  394.     email: NeXTanswers@NeXT.COM
  395.  
  396. FSF
  397.  
  398.     Object
  399.  
  400.     Object is the root class which comes as part of the Objective-C
  401.     runtime library provided with the GNU CC compiler.
  402.  
  403.     GNU Objective-C Class Library
  404.  
  405.     The GNU Objective C Class Library, version 0.1.19, is now available.
  406.  
  407.     What is the GNU Objective C Class Library?
  408.     ==========================================
  409.  
  410.         It is a library of general-purpose, non-graphical Objective C
  411.         objects designed in the Smalltalk tradition.  It includes
  412.         collection objects for maintaining groups of objects and C
  413.         types, streams for I/O to various destinations, coders for
  414.         formating objects and C types to streams, ports for network
  415.         packet transmission, distributed objects (remote object
  416.         messaging), pseudo-random number generators, string handling,
  417.         and time handling facilities.
  418.  
  419.     Noteworthy changes since version `0.1.10'
  420.     =========================================
  421.  
  422.       * Now using `src', `config' and `doc' directories to un-clutter
  423.         the top-level directory.
  424.  
  425.       * New GNUStep classes implemented: NSDictionary,
  426.         NSMutableDictionary; concrete classes NSGDictionary,
  427.         NSGMutableDictionary; enumeration classes
  428.         NSGDictionaryKeyEnumerator, NSGDictionaryObjectEnumerator.
  429.  
  430.       * More methods in NSData are implemented, thanks to Albin Jones.
  431.  
  432.       * More methods in NSString are implemented; we have new classes
  433.         NSCharacterSet and NSBitmapCharSet; all thanks to Adam Fedor.
  434.  
  435.       * And several bug fixes.  See the ChangeLog for details.
  436.  
  437.     Where can you get it?  How can you compile it?
  438.     ==============================================
  439.  
  440.         The library requires gcc 2.7.0 or higher.  The library does not
  441.         work with the NEXTSTEP 3.2 compiler because that version of
  442.         NeXT's cc cannot handle nested functions.  Until a later release
  443.         from NeXT, NEXTSTEP users will have to install gcc.  See the
  444.         `INSTALL' file for more instructions about compiling and
  445.         installing the library.
  446.  
  447.         The library has been successfully compiled and tested with the
  448.         following configurations: mips-sgi-irix5.2
  449.  
  450.         Some previous snapshots of the library worked with these
  451.         configurations, but they haven't been tested recently (We are
  452.         looking for a volunteer to write a test suite using dejagnu):
  453.         sparc-sun-sunos4.1.3, m68k-next-nextstep3.0, rs6000-ibm-aix3.2,
  454.         sparc-sun-solaris2.3, i386-unknown-linux, i386-sun-solaris2.4,
  455.         i386-unknown-sysv4.0, Ultrix 4.2, HP/UX 9.01.  It is known not
  456.         to work with: alpha-dec-osf
  457.  
  458.         The `.tar' file is compressed with GNU gzip.  Gzip can be
  459.         obtained by anonymous ftp at any of the GNU archive sites.
  460.  
  461.         For info about FTP via email, send email to
  462.         `ftpmail@decwrl.dec.com' with no subject line, and two-line body
  463.         with line one `help' and line two `quit'.
  464.  
  465.         The most recent (not necessarily tested) snapshots of the
  466.         library will be placed in `ftp://alpha.gnu.ai.mit.edu/gnu'.
  467.  
  468.     Contact
  469.  
  470.             R. Andrew McCallum
  471.             mccallum@gnu.ai.mit.edu
  472.  
  473.     Contact
  474.  
  475.     Free Software Foundation
  476.     59 Temple Place -- Suite 330
  477.     Boston, MA   02111
  478.     +1-617-542-5942
  479.  
  480.  
  481. Third Party Kits
  482.  
  483.     OS/2 Objective C class library
  484.  
  485.     This visual development environment provides Objective C classes
  486.     for most of the window classes provided by OS/2 PM.  Instead of
  487.     writing ANSI C applications you can use the features provided by
  488.     Objective C to create OS/2 applications using the Graphical User
  489.     Interface Presentation Manager.
  490.  
  491.     Also included is a small library to simplify access to DBase III
  492.     database files in your programs.
  493.  
  494.     The library, current version 0.8, is available as
  495.     ftp://ftp.leo.org/pub/comp/os/os2/gnu/emx+gcc/contrib/vd08.zip.
  496.     All documentation needed is included in Postscript format.
  497.  
  498.     Contact
  499.  
  500.         Thomas Baier
  501.         Center for Computational Intelligence
  502.         Technische Universitaet Wien
  503.         Resselgasse 3/CI
  504.         A-1040 Wien, Austria
  505.         Phone: +43-1-58801-4100
  506.         E-Mail: baier@ci.tuwien.ac.at
  507.  
  508.     Hot Technologies
  509.  
  510.     BARCODEKIT
  511.  
  512.         BarCodeKit is a comprehensive collection of object palettes for
  513.         creating international standard bar codes.    BarCodeKit allows
  514.         both developers and organizations to quickly add bar coding to
  515.         custom NEXTSTEP applications.  By combining the power of object
  516.         orientation and PostScript into a comprehensive library of bar
  517.         code symbologies, BarCodeKit represents the state of the art in
  518.         bar code technology.  Developers can seamlessly add bar coding to
  519.         an existing application in a matter of minutes by using any of
  520.         the 35 pretested and reusable objects in the BarCodeKit library
  521.         of palettes.  Previously, adding bar coding to an application
  522.         meant weeks or months of development, incompatibility with
  523.         different bar code readers and the use of costly proprietary bar
  524.         code printers.
  525.  
  526.         The BarCodeKit features a full range of bar code symbologies
  527.         including Code 3 of 9, Code 39 Extended, UPC-A, UPC-E, HRI, NDC,
  528.         EAN-8, EAN-13, JAN-8, JAN-13, ISBN, ISSN, SICI, SISAC, POSTNET,
  529.         ABC, FIM, BRM, Interleaved Two of Five, MSI, Codabar, Code 11,
  530.         Code 93, Code 128, Code 16K and Code 49.  It complies to
  531.         international, national, military and commercial bar coding
  532.         standards including EAN, JAN, CEN, ANSI, MIL, USS and HIBCC.
  533.         Furthermore, it provides developers with flexibility; bar codes
  534.         created using the kit can be scaled and rotated to fit a
  535.         specific area on a label or document and saved in EPS, EPSI (EPS
  536.         with interchange bitmap preview for non Display PostScript
  537.         computers), or TIFF formats.  BarCodeKit is an excellent
  538.         complement to NEXTSTEP's Application Kit and Database Kit It was
  539.         nominated for a Best of Breed Award by the editors of NeXTWORLD
  540.         Magazine.
  541.  
  542.     SERIALPORTKIT
  543.  
  544.         SerialPortKit is a fundamental class library and palette that
  545.         makes communication with serial peripherals easy to add into
  546.         your custom NEXTSTEP applications without any of the drawbacks
  547.         of other solutions.     You can use SerialPortKit to communicate
  548.         with a variety of serial peripherals such as modems, printers,
  549.         terminals, audio/video equipment, bar code readers, magnetic
  550.         stripe readers, controllers and data acquisition devices.  The
  551.         SerialPortKit contains a single SerialPort class which
  552.         interfaces to our SerialPortServer. Additional classes for
  553.         specific peripherals are available in our SerialPeripheralsKit
  554.         or through our consulting service.
  555.  
  556.         You can easily incorporate the SerialPortKit into your custom
  557.         applications due to its professionally designed and truly
  558.         object-oriented programming interface. The included Interface
  559.         Builder palette, source code examples, on-line indexed reference
  560.         manuals and tutorial further removes the tedious task of
  561.         traditional serial port programming.  Requires SerialPortServer
  562.         or SerialPortServer Lite which are available also from Hot
  563.         Technologies.
  564.  
  565.     Contact
  566.  
  567.         Hot Technologies
  568.         75 Cambridge Parkway, Suite E-504
  569.         Cambridge, MA 02142-1238 USA
  570.         tel: + 1 617 252 0088
  571.         fax: + 1 617 876 8901
  572.         email: info@hot.com (NeXTmail)
  573.  
  574.     Berkeley Productivity Group
  575.  
  576.     BPG BLOCKS
  577.  
  578.         BPG BLOCKS is an open extensible manufacturing framework which
  579.         supports a variety of applications including factory definition,
  580.         real-time tracking, real-time scheduling, short-term planning,
  581.         shift scheduling, production planning and capacity analysis.
  582.         BPG BLOCKS creates a virtual reality which represents the real
  583.         factory including the people, machines, material, processes,
  584.         their dynamics and interactions.  BPG BLOCKS is based on an easy
  585.         to understand design where every software object represents
  586.         either a real-world entity, or an important concept in the
  587.         manufacturing domain.  BPG BLOCKS' object-oriented manufacturing
  588.         model mirrors the real world, captures numerous manufacturing
  589.         details accurately, supports commonly used abstractions, and
  590.         allows decisions to be made based on aggregate information.     BPG
  591.         BLOCKS forms the basis for building custom applications which
  592.         meet the unique needs of your particular manufacturing
  593.         facility.
  594.  
  595.     Objective-C Views
  596.  
  597.         Objective-C Views is a user interface class library for
  598.         Microsoft Windows.
  599.  
  600.     Contact
  601.  
  602.         Christopher Lozinski
  603.         BPG
  604.         35032 Maidstone Court
  605.         Newark, CA 94560
  606.         tel: +1 510 795-6086
  607.         fax: +1 510 795-8077
  608.         email: info@bpg.com
  609.  
  610.  
  611.     M. Onyschuk and Associates Inc.
  612.  
  613.     OBJECT:Math
  614.  
  615.         OBJECT:Math is a comprehensive set of tools and 23 Objective-C
  616.         classes used to add extensible math and string handling to your
  617.         custom and commercial applications:
  618.  
  619.         Compiler---The OBJECT:Math Compiler converts math and string
  620.         expressions (as might be typed into a spreadsheet cell,
  621.         plotting package, etc.) into Objective-C objects.
  622.  
  623.         Unbundler---The OBJECT:Math Unbundler object allows
  624.         end-users to extend their OBJECT:Math applications with
  625.         custom-built or third-party OBJECT:Math function bundles.
  626.  
  627.         User Interface Objects---OBJECT:Math comes complete with a
  628.         Lotus Improv style function picker, a variable editor, and
  629.         objects used to display OBJECT:Math expression trees and
  630.         other tree structures.
  631.  
  632.         As product sources are available the product may even be of
  633.         interest to non-NeXT Objective-C programmers.
  634.  
  635.     Contact
  636.  
  637.         Mark Onyschuk
  638.         M. Onyschuk and Associates Inc.
  639.         tel: +1 416 462 3954
  640.         email: ask-oa@plexus.guild.org
  641.  
  642.  
  643.     Stream Technologies Inc.
  644.  
  645.     Store
  646.  
  647.         Store is an Object Oriented User Level Virtual File System.
  648.         It is described extensively in `Store - Object Oriented Virtual
  649.         File System' by Timo Lehtinen, which is available by anonymous
  650.         FTP from ftp://ftp.sti.fi/pub/sti/doc/papers/store.ps.
  651.  
  652.     Contact
  653.  
  654.         Stream Technologies Inc.
  655.         Valkj\"arventie 2
  656.         SF-02130 Espoo
  657.         Finland
  658.         tel: +358 0 4357 7348
  659.         fax: +358 0 4357 7340
  660.         email: info@sti.fi
  661.  
  662.  
  663.     SuiteSoftware
  664.  
  665.     DOME 3.0
  666.  
  667.         Developers who need to create truly distributed applications now
  668.         have a Distributed Object Management Environment.  Suite's DOME
  669.         is a complete distributed object-oriented architecture with
  670.         class libraries, application development tools and run-time
  671.         environment.
  672.  
  673.         With DOME, systems can be developed for diverse platforms,
  674.         created using all of the features of different platforms, while
  675.         minimizing their complexities and disparities.
  676.  
  677.         DOME addresses application development with a layered approach.
  678.         Figure 1 above [where?] shows DOME, the relationships of the
  679.         various components or services, and how they communicate with
  680.         one another.
  681.  
  682.         Suite's DOME 3.0 lays the foundation for a truly distributed
  683.         computing environment. All basic functionality needed to create
  684.         a true Distributed Object Management Environment are present.
  685.         The business benefits of DOME are time and money.  DOME reduces
  686.         the time needed to build applications that work across
  687.         distributed and heterogeneous environments.     All companies today
  688.         face the problem that old applications run on physically
  689.         disparate environments.  The DBMSs, network protocols and
  690.         operating systems are not homogenous.  New application
  691.         development is being forced to build applications that work with
  692.         the old applications.  Computers on the desktop are a reality.
  693.         DOME facilitates building new applications that take advantage
  694.         of the new high performance workstations while making it easy to
  695.         tie the new applications to the old applications, i.e.,
  696.         application interoperability.  All of this can be done much
  697.         easier and quicker, with fewer maintenance problems with DOME.
  698.  
  699.         Features
  700.  
  701.         Messaging
  702.  
  703.             - Store and forward (i.e., queueing)
  704.             - Multicast and Broadcast support
  705.             - Link Services
  706.             - Scripting support
  707.             - Uses Directory Services
  708.  
  709.             - User definable Messages
  710.             - Message packing and unpacking
  711.             - Message translation
  712.             - Large Messages
  713.             - Multiple levels of message recovery
  714.             - Priority Message Queuing
  715.             - Selective Message reception
  716.             - Logical Addressing (Uses Directory Services)
  717.  
  718.         Directory Services
  719.  
  720.             - Scripts
  721.             - Object location
  722.             - Parent/child and peer-to-peer
  723.             - Aliasing (i.e., logical names)
  724.             - Concerns (i.e., the ability to notify users of an
  725.               object of a change)
  726.             - Application, process, user, node object support
  727.             - Caching
  728.  
  729.         Time Services
  730.  
  731.             - Time arithmetic
  732.             - Time stamps
  733.             - String formatting
  734.             - Time zone conversions
  735.  
  736.         DDM
  737.  
  738.             - SQL92 (DML and DDL)
  739.             - Horizontal fragmentation (i.e., data stored in more
  740.               than one location by value)
  741.             - Vertical fragmentation (i.e., data stored in more than
  742.               one location by type of data)
  743.             - Replication (partial and full)
  744.             - Triggers and Procedures
  745.             - Flow of Control (If..Then..Else, While, Return,
  746.               Begin..End)
  747.             - SQL92/Sybase interoperability
  748.             - Support for legacy databases
  749.             - Distribution of data handled by DBA and DA, not the
  750.               application programmer
  751.  
  752.         DOMEShell
  753.  
  754.             - Scripting, full lexical parsing, regular expressions,
  755.               flow control, buffer management.
  756.             - Ability to invoke all DOME services from within script
  757.  
  758.         EventServices
  759.  
  760.             - Event Queueing
  761.             - Callbacks
  762.             - Event Priority Scheduling
  763.  
  764.         Management Services
  765.  
  766.             - Process recovery
  767.             - Utilities
  768.  
  769.         Programming Services
  770.  
  771.             - Trace facilities
  772.             - Playback capability for debugging and audit purposes
  773.             - Error Logging
  774.             - Error Recovery
  775.             - Exception Handling
  776.  
  777.         Object Services
  778.  
  779.             - Object store
  780.             - Object location
  781.             - Object registration
  782.  
  783.     Contact
  784.  
  785.         SuiteSoftware
  786.         Anaheim, USA
  787.         tel: +1 714 938 8850
  788.         fax: +1 714 978 1840
  789.         email: info@suite.com
  790.  
  791.  
  792.     Computer Algebra Kit
  793.  
  794.     Objects for Multiprecision Arithmetic and Computer Algebra
  795.  
  796.     The Computer Algebra Kit is a collection of Objective C objects
  797.     for arbitrary precision integer arithmetic, efficient polynomial
  798.     arithmetic over arbitrary coefficient domains, and for computing
  799.     with matrices of integers, polynomials, fractions etc.  Each
  800.     carefully designed object comes with a clean, exquisite header
  801.     file and a man page containing both a description of the object
  802.     and a discussion of all public, class and instance methods.
  803.  
  804.     The Computer Algebra Kit comes with the source of an application,
  805.     called "MySystem", consisting of trivial subclasses of the classes
  806.     in the toolkit.  Once compiled however, this small system provides
  807.     interactive access to many of the features of the Computer Algebra
  808.     Kit.  The "MySystem" application can be used as a shell for adding
  809.     functionality to the Computer Algebra Kit, by extending the
  810.     subclasses, or as a starting point for building your own symbolic
  811.     "front-end" system to numerical code.
  812.  
  813.     Version: 1.2.2
  814.     Number of Objects: 15
  815.     Key Objects:
  816.       - Integer object for fast, exact, multiprecision integer
  817.         arithmetic
  818.       - Polynomial object for advanced, polynomial arithmetic, over
  819.         arbitrary domains
  820.       - Matrix object for working with matrices of polynomials,
  821.         fractions etc.
  822.  
  823.     Binary Bulk of Library: between 1.0 and 1.5 MB dep. platform
  824.     Source Bulk of Library: about 65,000 lines of generated Objective C
  825.  
  826.     Portability: Stepstone, GNU, NeXT Objective C compatible
  827.  
  828.     Platforms: Linux, SunOS, Solaris, AIX, IRIX, NeXT available now,
  829.         others coming soon!
  830.  
  831.     For more information, or to download a copy of this library of
  832.     objects, please refer to the Computer Algebra Kit's web:
  833.     "http://www.can.nl/~stes".
  834.  
  835.     Contact
  836.  
  837.         David Stes
  838.         http://www.can.nl/~stes/
  839.  
  840.     TipTop Software
  841.  
  842.     Objective-Framework (Objective-Tcl, Objective-Perl, ...)
  843.  
  844.         The Objective-Framework from TipTop Software
  845.         (http://www.tiptop.com) system provides true language
  846.         independence to the Objective-C (e.g., OpenStep) object model.
  847.         Objective-Framework provides a seamless integration of the
  848.         Objective-C runtime system with other languages.
  849.         Objective-Framework not only breaks the barrier between
  850.         interpreted and compiled code, but it also breaks the barrier
  851.         between various programming languages!  Objective-Tcl and
  852.         Objective-Perl are two languages currently available.  More to
  853.         come...
  854.  
  855.         Some of the benefits of Objective-Framework include:
  856.  
  857.           - Rapid application prototyping and development environment.
  858.         The Objective-Framework languages, Objective-Tcl and
  859.         Objective-Perl, provide a dynamic interactive interpretive
  860.         environment.  You get immediate feedback to all your
  861.         programming actions in this environment, so you can
  862.         prototype and develop much more rapidly.  You can define and
  863.         redefine classes on-the-fly, at runtime, skipping the
  864.         traditional code-compile-lik-debug development cycle.
  865.  
  866.           - True language independence.  You can seamlessly
  867.         mix-and-match languages.  Thus you can use Objective-Perl
  868.         for heavy-duty text processing, use Objective-Tcl for highly
  869.         interactive (e.g., exploratory) programming, etc.  Classes
  870.         can have mixed implementation; certain methods can be
  871.         implemented in Objective-C, other methods can be implemented
  872.         in Objective-Tcl, yet some other methods can be implemented
  873.         in Objective-Perl, etc.  It is transparent and irrelevant to
  874.         the sender of a message which language implements the
  875.         corresponding method---the method looks "native" to the
  876.         caller.
  877.  
  878.           - Extend existing applications.  The Objective-Framework
  879.         runtime library can be linked with any NEXTSTEP/OpenStep
  880.         application to easily provide a high-level control
  881.         (scripting) languages.
  882.  
  883.           - Interactive Enterprise Object Framework (EOF) development
  884.         environment.  Objective-Tcl and Objective-Perl are very
  885.         useful for EOF development, since this kind of development
  886.         consists of writing high-level glue code which is hard to
  887.         write in a low-level compiled language such as Objective-C,
  888.         and easy to write in high-level languages such as Tcl or
  889.         Perl.
  890.  
  891.           - Testing environment.  Objective-Tcl and Objective-Perl are
  892.         ideally suited for regression testing.
  893.  
  894.         A more detailed description of the Objective-Framework
  895.         functionality is availble at
  896.         http://www.tiptop.com/Objective/WhitePaper.htmld/.  See also
  897.         http://www.tiptop.com for more info.
  898.  
  899.         Fully functional evaluation version is available:
  900.  
  901.         ftp://ftp.tiptop.com/pub/Objective/ObjSys.pkg.tar
  902.  
  903.     Objective-Browser
  904.  
  905.         Objective-Browser (OB) is a graphical runtime introspection and
  906.         debugging tool.  The browser allows you to view live objects
  907.         within a running application in many object-specific ways.  OB
  908.         allows you to easily investigate the structure and methods of
  909.         various objects and classes.  For example, methods, instance
  910.         variables, and other object information can be viewed and edited
  911.         during execution.
  912.  
  913.         To a user, OB appears as a hierarchical browsing tool, similar
  914.         to the file system browser.  Each node in the browser represents
  915.         an object or some other piece of information (e.g., a method)
  916.         with an arbitrary number of subnodes.  For example, when looking
  917.         at an object, instance variables or methods appear as subnodes.
  918.  
  919.         OB is extensible.  You can provide object-specific browser nodes
  920.         and custom inspectors for any object in the system.  OB can be
  921.         used from any application which is linked with the Objective-Tcl
  922.         runtime---the browser is dynamically loaded when needed.
  923.  
  924.     Contact Information:
  925.  
  926.         TipTop Software
  927.         PO Box 30681
  928.         Bethesda, MD 20824-0681
  929.         USA
  930.         tel: +1-301-656-3837
  931.         fax: +1-301-656-8432
  932.         www: http://www.tiptop.com
  933.         email: info@tiptop.com
  934.  
  935. GPL Kits
  936.  
  937.     objcX
  938.  
  939.     An alpha version of an GNU Objective-C class library for X/Motif
  940.     Windows is available via anonymous ftp from
  941.     ftp://ftp.slac.stanford.edu/software/ObjC/objcX-0.87.tar.gz
  942.  
  943.     For lack of a good witty name, the library is called objcX.  The
  944.     library requires gcc 2.7.0 or later and libobjects 0.1.10 or later.
  945.  
  946.     Because we built this library to support porting NeXTSTEP
  947.     applications to X/Motif and because our GUI programming experience
  948.     has been with NeXTSTEP, this class library has a strongly
  949.     resemblance to NeXT's AppKit.  However, it is only a Objective-C
  950.     wrapper to Motif widgets and does not support Display PostScript,
  951.     rich text, pasteboard, drag and drop, services or many other things
  952.     associated with the NeXTSTEP environment that are not available
  953.     under X windows.
  954.  
  955.     From version 0.8, the nib translator is part of the objcX
  956.     distribution, as well as some examples of using objcX.
  957.  
  958.     These announcements are also a call for help.  The library and the
  959.     translator program could use much more work in two areas...
  960.  
  961.      - first the library could be flushed out with more features to
  962.        support larger applications
  963.  
  964.      - second, I would like to contribute the library to the GNU
  965.        project.  But it is based on Motif widgets which is not free
  966.        software.  Thus, work is needed to replace Motif widgets with
  967.        widgets based on free software.
  968.  
  969.     To stay informed, join the mailing list gnustep-l@netcom.com by
  970.     sending a subscription email to gnustep-l-request@netcom.com.
  971.  
  972.     Contact
  973.  
  974.         Paul F. Kunz    Paul_Kunz@slac.stanford.edu (NeXT mail ok)
  975.         Stanford Linear Accelerator Center, Stanford University
  976.         Voice: (415) 926-2884   (NeXT) Fax: (415) 926-3587
  977.  
  978.  
  979.     Tcl/Objective-C Interface Library
  980.  
  981.     A library of Objective-C objects and support functions for
  982.     communication between Objective-C and Tcl/Tk.  From Tcl you can send
  983.     messages to Objective-C objects and get textual representations of
  984.     what's returned.  Thus it provides a way to interactively type
  985.     messages and see the results, all inside the rich structure of the
  986.     Tcl scripting language---almost an Objective-C interpreter.  The
  987.     library also provides an Objective-C object that will forward all of
  988.     its messages to the Tcl interpreter in textual format.
  989.  
  990.     The library does NOT provide:
  991.       * Handling arguments of non-atomic C types.
  992.       * Tk widgets based NeXTSTEP AppKit objects.
  993.       * The ability to create new Objective-C classes
  994.         or methods from Tcl.
  995.  
  996.     The library is available by anonymous ftp at
  997.         ftp.cs.rochester.edu:pub/libcoll/libtclobjc-1.0.tar.gz
  998.  
  999.     The library requires gcc (2.5.8 or higher) or NeXT's cc and tcl-7.3.
  1000.     If you have tk-3.6, the library can be configured to use it.  If you
  1001.     have libreadline, the library can be configured to use it.  Gcc and
  1002.     libreadline are available at any of the GNU archive sites; tcl and
  1003.     tk are available at ftp.cs.berkeley.edu.
  1004.  
  1005.     Contact
  1006.  
  1007.         R. Andrew McCallum          ARPA: mccallum@cs.rochester.edu
  1008.         Computer Science Department      UUCP: uunet!cs.rochester.edu!mccallum
  1009.         University of Rochester      VOX: (716) 275-2527
  1010.         Rochester, NY  14627-0226      FEET: CSB  Rm. 625
  1011.  
  1012.     Tiggr's Objective-C Library
  1013.  
  1014.     TL is a basic Objective-C library, which happens to incorporate a
  1015.     Lisp interpreter, which provides a seamless integration between
  1016.     Objective-C and Lisp.  (It is neither common lisp nor emacs lisp; it
  1017.     is probably best described by the name tiggr's lisp.)  TL provides
  1018.     mark & sweep garbage collection to instances of TLObject or a
  1019.     subclass thereof.
  1020.  
  1021.     TL provides the following classes: The `root' object TLObject, a
  1022.     patch for existing root objects (like TLPatchObject), TLString (and
  1023.     TLMutableString), TLRange, TLDictionary plus enumerators
  1024.     (TLDictionaryEnumerator, TLDictionaryDictEnumerator,
  1025.     TLDictionaryKeyEnumerator, TLDictionaryValueEnumerator), basic
  1026.     streams (TLFDStream, TLFILEStream), TLSocketStream
  1027.     (TLInetSocketStream, TLUnixSocketStream) plus addresses
  1028.     (TLInetAddress, TLUnixAddress), TLStringStream
  1029.     (TLConstantStringStream, TLMutableStringStream), TLBase64Stream
  1030.     (TLBase64InputStream, TLBase64OutputStream), various other streams
  1031.     (TLBufferedStream, TLHTTPStream, TLSneakStream, TLStreamStream,
  1032.     TLSyslogStream, TLTelnetStream, TLWrapStream), lisp specific classes
  1033.     (TLCons, TLConsEnumerator, TLLDelegate, TLLInvocation, TLLLambda,
  1034.     TLLLex, TLLSubroutine, TLLTag, TLNil, TLSymbol, TLSymbolValue) and
  1035.     various others: TLDate, TLMimeItem, TLNumber, TLRunLoop, TLURL,
  1036.     TLVector and TLVectorEnumerator.  Furthermore, it includes a host of
  1037.     Lisp invokable (but C written and thus also C invokable) functions.
  1038.  
  1039.     If reference counting is not provided by another library, TL
  1040.     provides reference counting and an NSAutoreleasePool.
  1041.  
  1042.     TL has been tested on HP9000/735 HP-UX 9.05 with the GNU runtime,
  1043.     and on a NeXTstation Mono Turbo NS3.3 with the NeXT runtime.
  1044.  
  1045.     TL is distributed under the GNU General Public License.  TL comes
  1046.     WITHOUT ANY WARRANTY.  See the file LICENSE in the TL distribution
  1047.     for details.
  1048.  
  1049.     TL is available through anonymous FTP at
  1050.     ftp://ftp.es.ele.tue.nl/pub/tiggr/tl.tar.gz.
  1051.  
  1052.     Contact
  1053.  
  1054.         Pieter J. `Tiggr' Schoenmakers
  1055.         email: tiggr@es.ele.tue.nl
  1056.         tel: +31 40 2473387 (work, voice)
  1057.  
  1058. Public Domain Kits
  1059.  
  1060.     IconKit
  1061.  
  1062.     IconKit is an Objective-C class library for building drag-and-drop
  1063.     applications.  It recreates the shelves, browsers, folders, and
  1064.     suitcases that are present throughout the basic NEXTSTEP
  1065.     applications:
  1066.  
  1067.         - The file browser and shelf in Workspace.
  1068.         - The bookshelves in Librarian.
  1069.         - The project browser in ProjectBuilder.
  1070.         - The suitcases in InterfaceBuilder.
  1071.         - The feature browser used to configure a DBTableView.
  1072.  
  1073.     IconKit contains all the objects one needs to build new applications
  1074.     of this kind.  It is fully integrated with InterfaceBuilder,
  1075.     providing a palette and inspectors for all the IconKit classes.  It
  1076.     comes complete with source code, documentation, and an example
  1077.     application that mimics the NEXTSTEP Workspace file viewer.
  1078.  
  1079.     IconKit is freely distributable and free for noncommercial use.  It
  1080.     costs money for a commercial license, but you are allowed to use
  1081.     IconKit get your application working before deciding whether to
  1082.     purchase it.  The General Objectware License that covers this policy
  1083.     is broadly applicable, and other developers are encouraged to adopt
  1084.     it for their own software.
  1085.  
  1086.     IconKit should work on any system running NEXTSTEP 3.0 or later.
  1087.  
  1088.  
  1089.     Distribution
  1090.     ------------
  1091.  
  1092.     IconKit may be freely distributed, in whole or in part, provided
  1093.     only that the included ReadMe file and the General Objectware
  1094.     License are neither removed nor altered in any way.  The complete
  1095.     kit is available from either of the two archive locations,
  1096.  
  1097.     ftp.cs.orst.edu:
  1098.         /pub/next/sources/objects/IconKit-1.2.*
  1099.         /pub/next/binaries/util/FileViewer-1.2.*
  1100.  
  1101.     ftp.informatik.uni-muenchen.de
  1102.         /pub/comp/platforms/next/Developer/objc/iconkit/IconKit-1.2.*
  1103.  
  1104.     FileViewer is a compiled MAB version of an example application that
  1105.     recreates the NEXTSTEP file browser.  Complete source is included in
  1106.     IconKit-1.2.
  1107.  
  1108.     In the event that you cannot locate IconKit at either of these two
  1109.     locations, you should contact the author to receive the complete
  1110.     distribution.  All questions and correspondence are welcome!
  1111.  
  1112.     Contact
  1113.  
  1114.         H. Scott Roy
  1115.         2573 Stowe Ct.
  1116.         Northbrook, IL  60062-8103
  1117.         email: hsr@cs.stanford.edu
  1118.  
  1119.     Various authors
  1120.  
  1121.     MiscKit
  1122.  
  1123.         [Abridged press release].
  1124.  
  1125.         ANNOUNCING THE RELEASE OF THE MISCKIT VERSION 1.8.1
  1126.  
  1127.         Update to Kit of Free Objective-C Objects Is Now Available
  1128.  
  1129.         PROVO, UT, Nov. 1, 1996 -- A new release of the MiscKit has
  1130.         been made publically available.  It contains many new objects
  1131.         and fixes all problems reported since the previous release.
  1132.         The MiscKit may be obtained via ftp to any of the following
  1133.         site:
  1134.  
  1135.         ftp://next-ftp.peak.org/pub/next/sources/classes/MiscKit1.8.1.s.gnutar.gz
  1136.         ftp://ftp.thoughtport.com/pub/next/misckit/MiscKit1.8.1.s.gnutar.gz
  1137.         ftp://ftp.informatik.uni-muenchen.de/pub/comp/platforms/next/Developer/objc/misckit/MiscKit1.8.1.s.gnutar.gz
  1138.  
  1139.         The thoughtport.com site always has the most recent official
  1140.         MiscKit distribution available in /pub/next/misckit with all
  1141.         previous versions archived in /pub/next/misckit/old.
  1142.  
  1143.         The MiscKit is an easy to install kit consisting of
  1144.         Objective-C objects, Interface Builder palettes, bundles, and
  1145.         other useful programming resources.  All the resources in the
  1146.         MiscKit have been donated by various Internet personalities
  1147.         for the benefit of other NEXTSTEP programmers.
  1148.  
  1149.         Objects include data structures (string, tree, stack, queue,
  1150.         priority queue, linked list), interface widgets (find panel,
  1151.         textfield, button and slider subclasses, clock and calendar
  1152.         views, icon wells, progress pie/bar), macros, other useful
  1153.         objects (lock file, log file, time, stopwatch, serial port,
  1154.         colors, subprocess, remote subprocess, file), frameworks for
  1155.         building complex interfaces (MiscMergeKit, MiscInspectorKit,
  1156.         InfoMenuKit) and even some useful example applications...plus
  1157.         much more!
  1158.  
  1159.         To make the MiscKit more attractive to developers, use of the
  1160.         MiscKit resources is absolutely free of charge, no matter how
  1161.         the resources are used.  Redistribution of the MiscKit is also
  1162.         encouraged.  Many developers are reluctant to use objects
  1163.         which are under the GNU "Copyleft".  As a result, the MiscKit
  1164.         has its own license which allows developers to reuse the code
  1165.         freely, even in commercial projects.  Everything possible has
  1166.         been done to encourage the use of the MiscKit to speed
  1167.         development efforts.
  1168.  
  1169.         Any developer who has generally useful objects, palettes, or
  1170.         other programming resources and would like to donate them to
  1171.         the MiscKit effort is welcome to do so.  Contact Don Yacktman
  1172.         at don@misckit.com for information on how to prepare a MiscKit
  1173.         submission.  By making a submission to the MiscKit, a
  1174.         developer can avoid the hassles of packaging up a formal
  1175.         distribution of their resources and in turn help add to a
  1176.         growing centralized pool of useful resources.
  1177.  
  1178.         The misckit mailing lists are temporarily out of order and we
  1179.         hope to have them up and working at a new site soon.  Until
  1180.         then, inquiries and subscription requests should be made to
  1181.         don@misckit.com.  If you request a subscription, be sure to
  1182.         specify whether you wish to be part of the development
  1183.         discussion or only receive MiscKit-based press releases.  When
  1184.         the mailing lists are once again up and running, a press
  1185.         release will be sent out to and let everyone know about the
  1186.         changes in addresses and any other important details.
  1187.  
  1188.         Please note that the creation of the "misckit.com" domain does
  1189.         NOT mean that the MiscKit is "going commercial" in any way--it
  1190.         will always be free and open as it has been in the past.
  1191.         Nothing has changed and NO special significance should be read
  1192.         into the use of ".com" instead of ".org".
  1193.  
  1194.         The MiscKit has evolved from the DAYMiscKit and several
  1195.         objects released over the past few years by Don Yacktman and
  1196.         other USENET personalities.
  1197.  
  1198.     Contact
  1199.  
  1200.         Don Yacktman
  1201.         (801)221-0344
  1202.         don@misckit.com
  1203.  
  1204.  
  1205.     CCRMA
  1206.  
  1207.     MusicKit
  1208.  
  1209.         The Music Kit provides tools for designing music
  1210.         applications. These tools address three topics: music
  1211.         representation, performance, and synthesis (digital sound
  1212.         generation and processing).     The Objective-C classes defined in
  1213.         the Music Kit fall neatly into these three areas.
  1214.  
  1215.         The design goal of the Music Kit is to combine the interactive
  1216.         gestural control of MIDI with the precise timbral control of
  1217.         MUSIC 5-type systems in an extensible, object-oriented
  1218.         environment. To this end, the Music Kit is capable of fully
  1219.         representing MIDI.    The Music Kit accepts MIDI in and can send
  1220.         MIDI out through the two serial ports at the back of the
  1221.         computer. Nonetheless, the Music Kit isn't limited by the MIDI
  1222.         specification; for example, its resolution of frequency and
  1223.         amplitude is much finer than MIDI's highly quantized values.
  1224.  
  1225.         The Music Kit generates sounds by sending synthesis instructions
  1226.         to the DSP.     The generality of the synthesis software far
  1227.         surpasses that of commercial synthesizers.    While most
  1228.         synthesizers employ only one type of synthesis-the Yamaha DX-7
  1229.         uses only frequency modulation, for example-the Music Kit can
  1230.         implement virtually any sound synthesis strategy.  And since the
  1231.         synthesis engine (the DSP) and the control stream are brought
  1232.         together in a single high-performance computer, the Music Kit
  1233.         makes possible an unprecedented level of expressive control.
  1234.         (from Documentation/MusicKit+DSP/General/SoundMusicDSP.rtfd)
  1235.  
  1236.         MusicKit used to be supplied by NeXT as part of NeXTSTEP (pre
  1237.         3.0).  It is now maintained by CCRMA and available in two
  1238.         packages:
  1239.  
  1240.         ftp://ccrma-ftp.stanford.edu/pub/NeXT/MusicKit_4.1.1.pkg.tar
  1241.  
  1242.             NI-fat Class library, header files, documentation,
  1243.             programming examples, and a suite of applications
  1244.             (size = 13MB).
  1245.  
  1246.           ftp://ccrma-ftp.stanford.edu/pub/NeXT/MusicKitSource_4.1.1.pkg.tar
  1247.  
  1248.             Source of the MusicKit class library (size = 5MB).
  1249.  
  1250.     Contact
  1251.  
  1252.         email: musickit@ccrma.stanford.edu
  1253.  
  1254.  
  1255.     ObjectPak
  1256.  
  1257.     `ObjectPak' is not just `another' collection class library.
  1258.     ObjectPak is a rewrite from scratch of the objects described in
  1259.     Brad Cox' book. ObjectPak is largely compatible in interface with
  1260.     the collection classes of Stepstone's ICpak101 (but not with the
  1261.     ICpak101 foundation classes), and hence also with the Smalltalk
  1262.     Collection Classes from Adele Goldberg's book.  The library comes
  1263.     with source code, header files, RTF and HTML documentation.
  1264.  
  1265.     Runtime dependencies are left out of ObjectPak.  You can therefore
  1266.     work with the same objects on any current or future implementation
  1267.     of Objective C, yet take advantage of each particular environment:
  1268.     ObjectPak has been tested on NextStep, Stepstone and GNU Objective
  1269.     C, and has been ported to several Unix platforms (Linux, Solaris,
  1270.     AIX).
  1271.  
  1272.     Classes in ObjectPak
  1273.     --------------------
  1274.     String     string objects
  1275.     Collection collections of objects, ordered
  1276.     Set        sets of objects, no duplicate entries
  1277.     Dictionary dictionaries, key-value tables
  1278.     Tree       instances keep their contents sorted in a tree
  1279.     Sequence   sequencing over groups of objects
  1280.  
  1281.     ObjectPak is an ideal starting-point for writing all sorts of text
  1282.     filters or processors in Objective C : as a demonstration of what
  1283.     can be done, the library comes with a small program to print a
  1284.     collection, a set without duplicates, a dictionary or a sorted
  1285.     list of the words in a text file.
  1286.  
  1287.     ObjectPak is public domain software; get a copy from the Computer
  1288.     Algebra Objects web-site, located at "http://www.can.nl/~stes".
  1289.  
  1290.     Contact
  1291.  
  1292.         David Stes
  1293.         http://www.can.nl/~stes/
  1294.  
  1295.  
  1296. ADMINISTRATIVIA
  1297.  
  1298.     The information in this file comes AS IS, WITHOUT ANY WARRANTY.  You may
  1299.     use the information contained in this file or distribute this file, as
  1300.     long as you do not modify it, make money out of it or take the credits.
  1301.  
  1302.     All trademarks appearing in this file are owned by their respective
  1303.     owner.  To increase the information content in this file, any indication
  1304.     to that effect is not present in the FAQ other than in this paragraph.
  1305.  
  1306. A Japanese language version of this FAQ is maintained by Norihiro Itoh
  1307. <nito@argotechnos.co.jp>.  It is posted to fj.archives.answers
  1308. regularly.  A hypertext version is maintained by Toru Sato
  1309. <www-admin@cnds.canon.co.jp> and available at:
  1310. http://www.cnds.canon.co.jp/Japanese_EUC/Contribution/FAQ_Objective-C/objc_faq_J.html
  1311.  
  1312. A World Wide Web hypertext version of this FAQ is maintained by Brian Harvey
  1313. <theharv@csld.ucr.edu>.  It is http://csld.ucr.edu/NeXTSTEP/objc_faq.html.
  1314. Another WWW version of this FAQ is maintained by Steve Dekorte
  1315. <dekorte@suite.com> at http://www.batech.com/~dekorte/Objective-C/objc.html
  1316.  
  1317. The first version of this FAQ was written by Bill Shirly, helped by the
  1318. feedback and information given to him by a lot of people.  The current
  1319. version is maintained by Tiggr, supported by feedback from Glen Diener,
  1320. Christopher Lozinski, Sean Luke and a lot of other people.  Mail your bug
  1321. reports, comments, suggestions and additions to tiggr@es.ele.tue.nl.
  1322.